home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 May: Tool Chest / Developer CD Series Tool Chest (Apple Computer)(May 1999).iso / Tool Chest / Development Kits / MPW etc / MPW-GM / MPW / Examples / CFMExamples / ModApp / ModuleSources / PowerResource.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-12-03  |  2.9 KB  |  172 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        PowerResource.c
  3.  
  4.     Contains:    Plug-in as a resource.
  5.     
  6.     Written by:    Richard Clark
  7.  
  8.     Copyright:    © 1993-1994 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.             8/15/94        BLS        updated to CFM-68K runtime
  13.  
  14. */
  15.  
  16.  
  17. #ifdef THINK_C
  18.     #define ToolStartup main
  19. #endif
  20.  
  21. #ifndef __TYPES__
  22.     #include <Types.h>
  23. #endif
  24.  
  25. #ifndef __MEMORY__
  26.     #include <Memory.h>
  27. #endif
  28.  
  29. #ifndef __QUICKDRAW__
  30.     #include <Quickdraw.h>
  31. #endif
  32.  
  33. #ifndef __FILES__
  34.     #include <Files.h>
  35. #endif
  36.  
  37. #ifndef __RESOURCES__
  38.     #include <Resources.h>
  39. #endif
  40.  
  41. #ifndef __TEXTUTILS__
  42.     #include <TextUtils.h>
  43. #endif
  44.  
  45. #ifndef __TEXTEDIT__
  46.     #include <TextEdit.h>
  47. #endif
  48.  
  49. #ifndef __MIXEDMODE__
  50.     #include <MixedMode.h>
  51. #endif
  52.  
  53. #include "ToolAPI.h"
  54. #include "ModApp.h"
  55.  
  56. struct ToolPrivateData {
  57.     Str255        message;
  58. };
  59.  
  60. typedef struct ToolPrivateData ToolData, *ToolDataPtr;
  61.  
  62. // === Public routines
  63.  
  64. OSErr ToolStartup (WindowPtr wp)
  65. {
  66.     DrawingWindowPeek    aWindow = (DrawingWindowPeek)wp;
  67.     ToolDataPtr            privateData = NULL;
  68.     OSErr                err = noErr;
  69.     short                refNum;
  70.     
  71.     aWindow->toolRoutines.shutdownProc = NULL;
  72.     aWindow->toolRoutines.menuAdjustProc = NULL;
  73.     aWindow->toolRoutines.menuDispatchProc = NULL;
  74.     aWindow->toolRoutines.toolIdleProc = NULL;
  75.     aWindow->toolRoutines.toolUpdateProc = ToolUpdate;
  76.     aWindow->toolRoutines.toolClickProc = NULL;
  77.     aWindow->toolRoutines.toolWindowMovedProc = NULL;
  78.     aWindow->toolRoutines.toolWindowResizedProc = NULL;
  79.     aWindow->toolRoutines.toolWindowActivateProc = NULL;
  80.  
  81.     // Allocate our private storage
  82.     privateData = (ToolDataPtr)NewPtr(sizeof(ToolData));
  83.     err = MemError();
  84.     if (err) goto error;
  85.  
  86.     // Get the appropriate message
  87.     refNum = FSpOpenResFile(&aWindow->toolSpec, fsCurPerm);
  88.     err = ResError();
  89.     if (err) goto error;
  90. #ifdef powerc
  91.     GetIndString( (unsigned char *)(&privateData->message), 128, 1);
  92. #else
  93.     GetIndString(privateData->message, 128, 2);
  94. #endif
  95.     CloseResFile(refNum);
  96.     
  97.     goto noError;
  98.  
  99. error:
  100.     if (privateData)
  101.         DisposePtr((Ptr)privateData);
  102.     return err;
  103.  
  104. noError:
  105.     aWindow->toolRefCon = (long)privateData;
  106.     return noErr;
  107. }
  108.  
  109.  
  110. void ToolShutdown (WindowPtr wp)
  111. {
  112.     #pragma unused(wp)
  113. }
  114.  
  115.  
  116. void ToolMenuAdjust (WindowPtr wp)
  117. {
  118.     #pragma unused(wp)
  119. }
  120.  
  121.  
  122. void ToolMenuDispatch (WindowPtr wp, short menuID, short itemID)
  123. {
  124.     #pragma unused(wp, menuID, itemID)
  125. }
  126.  
  127.  
  128. void ToolIdle (WindowPtr wp)
  129. {
  130.     #pragma unused(wp)
  131. }
  132.  
  133.  
  134. void ToolUpdate (WindowPtr wp)
  135. {
  136.     DrawingWindowPeek    aWindow = (DrawingWindowPeek)wp;
  137.     ToolDataPtr            privateData = (ToolDataPtr)aWindow->toolRefCon;
  138.     Rect                scratch = wp->portRect;
  139.     
  140.     SetPort(wp);
  141.     InsetRect(&scratch, 10, 10);
  142.     TextFont(1);
  143.     TextFace(0);
  144.     TextFont(0);
  145.     MoveTo(2, 14);
  146.     DrawString((StringPtr)privateData->message);
  147. }
  148.  
  149.  
  150. void ToolWindowClick(WindowPtr wp, EventRecord *theEvent)
  151. {
  152.     #pragma unused(wp, theEvent)
  153. }
  154.  
  155.  
  156. void ToolWindowMoved(WindowPtr wp)
  157. {
  158.     #pragma unused(wp)
  159. }
  160.  
  161.  
  162. void ToolWindowResized(WindowPtr wp)
  163. {
  164.     #pragma unused(wp)
  165. }
  166.  
  167.  
  168. void ToolWindowActivate(WindowPtr wp, Boolean activeFlag)
  169. {
  170.     #pragma unused(wp, activeFlag)
  171. }
  172.